Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Nordea Open - Bastad Braunschweig Challenger Wimbledon - London Porto Challenger Mallorca Challenger U.S. Open - New York Astana Open - Astana Bratislava 2 Challenger Bergamo Challenger Erste Bank Open - Vienna Brest Challenger Helsinki Challenger Ismaning Challenger Valencia Challenger Danderyd Challenger Nonthaburi 1 Challenger Miami Open - Miami Canberra Challenger Australian Open - Melbourne Manama Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Open 13 Provence - Marseille Pau Challenger BNP Paribas Open - Indian Wells Phoenix Challenger Lugano Challenger Lille Challenger Naples Challenger Ostrava Challenger Tunis Challenger Open Parc - Lyon Bucharest Open - Bucharest Mutua Madrid Open - Madrid Wimbledon - London Split Challenger Aix En Provence Challenger Bordeaux Challenger French Open - Paris Internazionali BNL d'Italia - Rome Nottingham 2 Challenger Zagreb Challenger Boss Open - Stuttgart Karlsruhe Challenger Braunschweig Challenger Santo Domingo Challenger Generali Open - Kitzbuhel Bonn Challenger U.S. Open - New York Istanbul Challenger St. Tropez Challenger Manacor Challenger Orleans Challenger Japan Open Tennis Championships - Tokyo Hangzhou Open - Hangzhou Brest Challenger Shanghai Rolex Masters - Shanghai European Open - Antwerp Bratislava 2 Challenger Almaty Open - Almaty Roanne Challenger Belgrade Open - Belgrade Moselle Open - Metz Lyon Challenger Banja Luka Challenger Mutua Madrid Open - Madrid Lille Challenger Cherbourg Challenger Sibiu Challenger Cap Cana Challenger Quimper Challenger Movistar Chile Open - Santiago Rio Open - Rio de Janeiro Rovereto Challenger Rosario Challenger Pau Challenger Montemar Challenger BNP Paribas Open - Indian Wells Maia Challenger Open 13 Provence - Marseille Canberra Challenger Adelaide International - Adelaide Australian Open - Melbourne Argentina Open - Buenos Aires Zadar Challenger Aix En Provence Challenger National Bank Open - Toronto Naples Challenger Tiriac Open - Bucharest Grand Prix Hassan II - Marrakech Wimbledon - London Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Bordeaux Challenger Gonet Geneva Open - Geneva Hamburg Open - Hamburg Boss Open - Stuttgart Mallorca Championships - Mallorca Nottingham 2 Challenger EFG Swiss Open - Gstaad Nordea Open - Bastad U.S. Open - New York Cincinnati Open - Cincinnati Genova Challenger St. Tropez Challenger France F16 Switzerland F3 Bosnia & Herzegovina F2 Croatia F8 France F14 Bosnia/Herzegovina F6 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 France F4 Czech Republic F1 France F8 France F9 Germany F9 Italy F18 Italy F19 Italy F20 Germany F12 Poland F5 Poland F6 France F14 France F16 France F17 Croatia F7 Croatia F8 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 USA F1 USA F2 Israel F3 Germany F4 Croatia F1 Croatia F2 France F4 France F5 Italy F3 Italy F6 France F7 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Netherlands F1 France F8 Serbia F1 Serbia F2 France F10 Serbia F3 Italy F18 Lithuania F1 Latvia F1 Serbia F7 Germany F12 Croatia F7 Croatia F8 Germany F13 France F14 Croatia F9 Croatia F10 Germany F16 Croatia F12 Croatia F13 France F20 Croatia F14 Turkey F32 Turkey F33 China F1 China F2 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Greece F3 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Germany F7 France F12 Italy F20 France F19 Israel F10 Croatia F11 Israel F11 Croatia F12 Turkey F2 France F2 Germany F4 Croatia F1 Croatia F2 USA F5 USA F6 Italy F1 Italy F5 Bulgaria F1 Bosnia & Herzegovina F4 Germany F7 Serbia F3 France F11 Croatia F12 Italy F4 BH Indoor Sarajevo - Sarajevo Sarajevo Challenger St. Brieuc Challenger Genova Challenger Rennes Challenger Orleans Challenger Aachen Challenger Quimper Challenger Cherbourg Challenger Barletta Challenger Rome Challenger Scheveningen Challenger Tampere Challenger St. Remy Challenger Orleans Challenger Eckental Challenger Geneva Challenger Heilbronn Challenger Quimper Challenger Cherbourg Challenger Sarajevo Challenger Rimouski Challenger Le Gosier Challenger Tallahassee Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Nottingham Challenger Nottingham-2 Challenger Kosice Challenger Milan Challenger Arad Challenger San Benedetto Challenger Anning Challenger Wuhan Challenger Beijing Challenger San Marino Challenger Cordenons Challenger Como Challenger St. Remy Challenger Brasov Challenger Petange Challenger Banja Luka Challenger Trnava Challenger Orleans Challenger Lermontov Challenger Rennes Challenger Ortisei Challenger Dallas Challenger Cherbourg Challenger Sarajevo Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Ostrava Challenger Napoli Challenger Rome Challenger Bordeaux Challenger Prostejov Challenger Furth Challenger Kosice Challenger San Benedetto Challenger Poznan Challenger Recanati Challenger Tampere Challenger Segovia Challenger Liberec Challenger Kazan Challenger Alphen Challenger St. Remy Challenger Banja Luka Challenger Trnava Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Casablanca Challenger Bratislava Challenger Ortisei Challenger Yokohama Challenger Toyota Challenger Bergamo Challenger Quimper Challenger Cherbourg Challenger Irving Challenger Guadalajara Challenger Leon Challenger Mersin Challenger Vercelli Challenger Tunis Challenger Ostrava Challenger Aix En Provence Challenger Samarkand Challenger Arad Challenger Kosice Challenger Braunschweig Challenger Scheveningen Challenger San Benedetto Challenger Poznan Challenger Tampere Challenger Como Challenger St. Remy Challenger Seville Challenger Meknes Challenger Kenitra Challenger Tashkent Challenger Geneva Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger Andria Challenger Santo Domingo Challenger Morelos Challenger Irving Challenger San Luis Potosi Challenger Mersin Challenger Bordeaux Challenger Heilbronn Challenger Moscow Challenger Braunschweig Challenger San Benedetto Challenger Alphen Challenger Kenitra Challenger Mohammedia Challenger Casablanca Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Bergamo Challenger Wroclaw Challenger Cherbourg Challenger Guadalajara Challenger Prostejov Challenger Alphen Challenger Orleans Challenger Mohammedia Challenger Casablanca Challenger Budapest Challenger Canberra Challenger Lisbon Challenger Blois Challenger Santo Domingo Challenger Orleans Challenger Ortisei Challenger Bordeaux Challenger Granby Challenger Ortisei Challenger Sophia Antipolis Challenger Perugia Challenger Aptos Challenger Vancouver Challenger New Haven Challenger Bratislava Challenger Bendigo Challenger Prague Challenger Prague II Challenger Split Challenger Barcelona Challenger Lisbon Challenger Marbella Challenger Rome 2 Challenger Oeiras 3 Challenger Nottingham 1 Challenger Nottingham 2 Challenger Salzburg-Anif Challenger Trieste Challenger Meerbusch Challenger Tulln Challenger Orleans Challenger Sibiu Challenger Mouilleron-Le-Captif Challenger Barcelona Challenger Brest Challenger Bergamo Challenger Bratislava Challenger Helsinki Challenger Bendigo Challenger Quimper Challenger Cherbourg Challenger Pau Challenger Forli 5 Challenger Lille Challenger Biel Challenger Lugano Challenger Sanremo Challenger Mauthausen Challenger Surbiton Challenger Ilkley Challenger Zug Challenger Cordenons Challenger Meerbusch Challenger Santo Domingo Challenger Banja Luka Challenger Como Challenger Sibiu Challenger Orleans Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Noumea Challenger Oeiras 1 Challenger Oeiras 2 Challenger Quimper Challenger Vilnius Challenger Antalya Challenger Lugano Challenger Szekesfehervar Challenger St. Brieuc Challenger Zadar Challenger Ostrava Challenger Prague 2 Challenger Tunis Challenger Oeiras 4 Challenger Heilbronn Challenger Surbiton Challenger Bratislava 1 Challenger Poznan Challenger Mouilleron-Le-Captif Challenger Bordeaux Challenger Barletta Challenger Ilkley Challenger Pozoblanco Challenger Istanbul Challenger Open de Moselle - Metz Open de Moselle - Metz Open 13 - Marseille Open Sud de France - Montpellier Open 13 - Marseille UNICEF Open - 's Hertogenbosch Studena Croatia Open - Umag Moselle Open - Metz Aircel Chennai Open - Chennai Apia International - Sydney SAP Open - San Jose Gerry Weber Open - Halle Mercedes Cup - Stuttgart Moselle Open - Metz If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Open Sud de France - Montpellier Open 13 - Marseille BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Aircel Chennai Open - Chennai PBZ Zagreb Indoors - Zagreb Open 13 - Marseille Grand Prix Hassan II - Casablanca TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Brisbane International - Brisbane Qatar ExxonMobil Open - Doha Apia International - Sydney Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Mercedes Cup - Stuttgart Aegon Nottingham Open - Nottingham Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Kremlin Cup - Moscow European Open - Antwerp Erste Bank Open - Vienna Brisbane International - Brisbane Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Memphis Open - Memphis Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Mercedes Cup - Stuttgart AEGON Championships - London Hall of Fame Tennis Championships - Newport Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow If Stockholm Open - Stockholm Erste Bank Open - Vienna Brisbane International - Brisbane Maharashtra Open - Pune Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Citi Open - Washington Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest Geneva Open - Geneva Open Parc - Lyon Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Nature Valley International - Eastbourne SkiStar Swedish Open - Bastad BB&T Atlanta Open - Atlanta Abierto Mexicano de Tenis Mifel - Los Cabos Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier New York Open - New York Delray Beach Open - Delray Beach Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel Erste Bank Open - Vienna bett1HULKS Indoors - Cologne bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Antalya Open - Antalya Great Ocean Road Open - Melbourne Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Hamburg European Open - Hamburg Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg European Open - Antwerp Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril BMW Open - Munich Libema Open - 's-Hertogenbosch Stockholm Open - Stockholm Firenze Open - Florence Qatar ExxonMobil Open - Doha Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka Libema Open - 's-Hertogenbosch Stockholm Open - Stockholm Moselle Open - Metz Qatar ExxonMobil Open - Doha Terra Wortmann Open - Halle Barcelona Open Banc Sabadell - Barcelona Plava Laguna Croatia Open - Umag BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Montreal Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, 1R, BIH-GER 0-4 St. Remy Challenger Mons Challenger Leon Challenger Rennes Challenger Orleans Challenger Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) U.S. Open (juniors) All Lower level tournaments Belgrade Challenger Zagreb Challenger Segovia Challenger Aircel Chennai Open - Chennai Bet-at-home Open - Hamburg PBZ Zagreb Indoors - Zagreb Barcelona Open Banc Sabadell - Barcelona Olympics - Rio de Janeiro Plava Laguna Croatia Open - Umag Hangzhou Open - Hangzhou Citi Open - Washington Dubai Duty Free Tennis Championships - Dubai Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, PO, UZB-BIH 1-3 Wimbledon (juniors)